package com.nine.service;

import java.util.List;

import com.nine.entity.Package;
import com.nine.entity.Packageitems;

public interface PackageService {
	/**
	 * 获取所有套餐信息
	 * @return 套餐实体集合
	 */
	List<Package> getAllPackage();
	
	/**
	 * 条件搜索套餐信息（支持模糊查询）
	 * @param p 条件实体（套餐实体）
	 * @return 套餐实体集合
	 */
	List<Package> getAllPackageByCondition(Package p);
	
	/**
	 * 查询单个套餐信息
	 * @param pgid 套餐编号
	 * @return 套餐信息实体
	 */
	Package getPackage(String pgid);
	
	/**
	 * 添加套餐
	 * @param p 套餐实体
	 * @return 影响行数
	 */
	Integer addPackage(Package p);
	
	/**
	 * 删除套餐
	 * @param pgid 套餐编号
	 * @return 影响行数
	 */
	Integer deletePackage(String pgid);
	
	/**
	 * 删除套餐
	 * 支持单条删除和多条删除
	 * @param pgid 套餐编号数组
	 * @return 影响行数
	 */
	Integer deleteMorePackage(String[] pgid);
	
	/**
	 * 修改套餐
	 * @param p 套餐实体
	 * @return 影响行数
	 */
	Integer updatePackage(Package p);
	
	/**
	 * 添加套餐明细
	 * 支持单条和多条明细
	 * @param list 套餐明细实体集合
	 * @return 影响行数
	 */
	Integer addPackageitems(List<Packageitems> list);
	
	/**
	 * 通过套餐编号获取套餐明细
	 * @param pgid
	 * @return 套餐明细实体集合
	 */
	List<Packageitems> getPackageitemsByPgid(String pgid);
	
	/**
	 * 删除套餐明细记录（单条）
	 * @param id 套餐明细编号
	 * @return 影响行数
	 */
	Integer deletePackageitemsById(Integer id);

}
